<?php

  // Une fonctionalité pour choisir sa saison de travail


class fSeasonChooser extends aFeature {


   public function __construct() {
      $this->_acl = new AccessControlList();
      $this->_acl->setGranted(1); $this->_acl->setGranted(2);
      $this->_acl->setGranted(3); $this->_acl->setGranted(4);
      $this->_acl->setGranted(5); $this->_acl->setGranted(6);
      $this->_acl->setGranted(7);
   }

   public static function getTocEntry() {
      return "Choisir la saison";
   }

   public static function getRealName() {
		return "Choix de la saison de travail";
	}
	
	public static function getSemantic() {
		$res  = "Cette fonctionalité permet de positionner Balloon dans une saison de travail.";
		return $res;
	}


   protected function run() {

		 $page = "";
   	 $action = PropRetriever::getProp($_POST,"action");
   	 if ($action != "")
   	 	 $page .= $this->changeSeason();

   	 return $page = $this->displayForm() . $page;
   }
   
   
   private function changeSeason() {
   	 $newSeason = PropRetriever::getProp($_POST,"season");
   	 $result = "";
   	 if ($newSeason == "") {
   	 	$result .= <<<EOS
	<h2> Une erreur est survenue ! </h2>
	<p> Vous n'avez pas choisi de saison de travail ! </p>
EOS;
   	 }
   	 else {
   	 	 Login::seasonChoosen($newSeason);
   	 	 $s = Season::read($newSeason);
   	 	 $s = $s->displayLong();
   	 	 $result .= <<<EOS
	<h2> Changement de Saison effectué avec succès ! </h2>
	<p> Vous travaillez actuellement dans la saison suivante : ${s} </p>
EOS;
   	 }
   	 return $result;
   }
   
   private function displayform() {
  	 
  	 $availables = "";
  	 $currentSeason = Login::seasonChoosen();
  	 
  	 foreach (Season::getAllSeasonId() as $k => $v) {
  	 	 $aSeason = Season::read($v);
  	 	 if ($v == $currentSeason)
  	 	   $availables .= "<option value=\"${v}\" selected > ";
  	 	 else 
  	 	   $availables .= "<option value=\"${v}\" > ";
  	 	 $availables .= $aSeason->displayShort();
  	 	 $availables .= " </option>\n";
  	 }
  	 
   	 $page = <<<EOS
<h1> Choix de la saison de travail </h1>
<p> Cette page vous permet de choisir la saison de travail sur laquelle vous 
souhaitez positionner le système Balloon.</p>
   <div align="center">    
    <form method="post" accept-charset="utf-8" action="${_SERVER['PHP_SELF']}">
    <fieldset>
      <legend>Saisons disponibles</legend>
      <br />
      <label>
        <span> Votre choix : </span>
        <select name="season" class="edit">
          ${availables}
        </select> &nbsp; &nbsp;
      </label>
      <br />
      <input type="hidden" name="action" value="changeSeason" />
      <input type="submit" name="valid"  value="Valider" class="button" />
    </fieldset>
    </form>
   </div>

EOS;
   return $page; 
   }
   
   
}
?>